package com.qg.cyapp.loader;

import java.io.File;

import android.util.Log;

import com.qg.cyapp.util.EnvironmentUtil;
import com.qg.cyapp.util.FileUtil;


/**
 * 文件缓存的相关设定
 * 
 * @author ZZJ
 * 
 */
public class FileCache {

	private String strCacheDir;

	public FileCache() {
		this.strCacheDir = getCacheDir();
		boolean ret = FileUtil.createDirectory(strCacheDir);
		Log.e("FileHelper", "FileHelper.createDirectory:" + strCacheDir
				+ ", ret = " + ret);
	}

	/**
	 * 将网络上的文件保存在指定位置并返回本地文件
	 * 
	 * @param url
	 * @return
	 */
	public File getFile(String url) {
		File f = new File(getSavePath(url));
		return f;
	}

	/**
	 * 清除文件缓存
	 */
	public void clear() {
		FileUtil.deleteDirectory(strCacheDir);
	}

	/**
	 * 获取指定文件所在的路径名
	 * 
	 * @param url
	 * @return
	 */
	public String getSavePath(String url) {
		//该文件名为url的哈希码
		String fileName = String.valueOf(url.hashCode());
		return strCacheDir + fileName;
	}

	/**
	 * 获取文件保存的路径
	 * 此处可更改文件的存储位置,默认在SD卡的files文件夹下
	 * @return
	 */
	public String getCacheDir() {
		// return FileDirectories.getFileCachePath();
		return EnvironmentUtil.getRootFilePath() + "files/";

	}

}
